package com.heima.controller;

import com.heima.common.Result;
import com.heima.pojo.sku_class.SkuClass;
import com.heima.pojo.sku_class.SkuClassPageResult;
import com.heima.pojo.sku_class.SkuClassQueryParam;
import com.heima.service.SkuClassService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/vm-service/skuClass")
@Slf4j
public class SkuClassController {
    @Autowired
    private SkuClassService skuClassService;

    /**
     * 新增分类
     * @param skuClass
     * @return
     */
    @PostMapping
    public Result addSkuClass(@RequestBody SkuClass skuClass){
        log.info("新增分类:{}",skuClass);
        skuClassService.addSkuClass(skuClass);
        return Result.success();
    }

    /**
     * 分类搜素
     * @return
     */
    @GetMapping("/search")
    public SkuClassPageResult getSkuClassList(SkuClassQueryParam skuClassQueryParam){
        SkuClassPageResult result =skuClassService.getSkuClassList(skuClassQueryParam);
       return result;
    }
    /**
     * 获取分类基本信息
     *
     */
    @GetMapping("/{classId}")
    public SkuClass getSkuClassById(@PathVariable String classId){
        log.info("获取分类基本信息:{}",classId);
        SkuClass skuClass = skuClassService.getById(classId);
        return skuClass;
    }
    /**
     * 修改分类
     */
    @PutMapping("/{classId}")
    @ApiOperation("修改分类")
    public void updateSkuClass(@PathVariable String classId,@RequestBody SkuClass skuClass){
        log.info("修改分类:{},{}",classId,skuClass);
        skuClass.setClassId(classId);
        skuClassService.updateSkuClass(skuClass);
    }
    /**
     * 删除分类
     */
    @DeleteMapping("/{classId}")
    @ApiOperation("删除分类")
    public Result deleteSkuClass(@PathVariable String classId){
        log.info("删除分类:{}",classId);
        skuClassService.deleteSkuClass(classId);
        return Result.success();
    }
    /**
     * 获取所有分类
     */
    @GetMapping
    @ApiOperation("获取所有分类")
    public Result getSkuClassAll() {
        return Result.success(skuClassService.getSKuClassAll());
    }
}
